const webapck = require('webpack')

module.exports = {
  mode: 'none',
  entry: './src/main.js',
  output: {
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader']
      },
      {
        test: /\.js$/,
        use: {
          loader: 'babel-loader',
          options: {
            // modules: 'commonjs'
            // presets: [
            //   ['@babel/preset-env', { modules: 'commonjs' }] // babel 将 es module 转为 commonjs 后，treeshaking无法正常工作
            // ]
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  optimization: {
    sideEffects: true,
    usedExports: true, // 只导出外部使用的成员，负责标记
    minimize: true, // 压缩时会移除未引用的代码，负责移除
    // concatenateModules: true // 尽可能将所有模块合并输出到一个函数中
  },
  plugins: [
    new webapck.DefinePlugin({
      API_BASE_URL: JSON.stringify('https://api.example.com')
    })
  ]
}
